/**
 * @(#) ReqMedicalMoneyWriteProxy.as
 *
 * @date		2011. 03. 19.
 * @version		1.0
 * @author		bgh
 * @description	 건강보험증 Proxy - Proxy
 * 				건강보험증  저장, 수정, 삭제한다.
 */
package com.skt.common_hr.homework.model
{
	import com.skt.common_hr.common.puremvc.CommonProxy;
	import com.wcl.dataloader.*;
	import com.wcl.utils.DateUtil;

	import mx.rpc.events.FaultEvent;
	import mx.rpc.events.ResultEvent;

	public class ReqHolOtOrdWriteProxy extends CommonProxy
	{
		public static const NAME:String = "ReqHolOtOrdWriteProxy";

		/**
		 * 생성자
		 *
		 * @param
		 * @return void
		 */
		public function ReqHolOtOrdWriteProxy(data:Object=null)
		{
			super(NAME, data);
		}

		/**
		 * data selectPopUp를 수행
		 * 		- DataLoader 를 생성하고 Import Parameter 객체를 생성, RFC를 호출
		 *
		 * @param pernr
		 * @return void
		 */
		public function load(key:String):void
		{
			var param:Object = new Object();
			param["I_GWAREKEY"] = key;

			if(key != "") {
				loadData("Z_HR_0047", param, loadResult, loadFault);
			}
		}


		private function toJsonType(vo:Object):Object {
			var retObj:Object = new Object;
			for(var field:String in vo) {
				if(vo[field] is Date) {
					retObj[field] = DateUtil.toBasicString(vo[field]);
				}
				else {
					retObj[field] = vo[field];
				}
				trace(retObj[field]);
			}
			return retObj;
		}




		///////////////////////////////////////////////////////////////////////////////////////////////////
		//
		//	Event Listeners
		//
		///////////////////////////////////////////////////////////////////////////////////////////////////
		/**
		 * 서버에서 정상적으로 리턴된 결과를 처리
		 *
		 * @param
		 * @return void
		 */
		public function loadResult(event:ResultEvent):void
		{
//			if(event.result["RETCODE"]==0) {
//				congLoadList = parseCongList(event.result.ITAB);
//				facade.sendNotification(MedicalMoneyFacade.LOAD_CONGMONEY_WRITE_COMPLETE, this);
//			}
//			else {
//				trace( "failed to load : (" +event.result["RETCODE"] + ") "+event.result["RETTEXT"]);
//				facade.sendNotification(MedicalMoneyFacade.LOAD_CONGMONEY_WRITE_FAILED, this);
//			}
		}

		/**
		 * 서버에서 오류가 발생했을 처리
		 *
		 * @param
		 * @return void
		 */
		private function loadFault(event:FaultEvent):void
		{
//			facade.sendNotification(MedicalMoneyFacade.LOAD_CONGMONEY_WRITE_FAILED, this);
		}

		/**
		 * 서버에서 오류가 발생했을 처리
		 * 		- 경조사입력
		 * @param
		 * @return void
		 */
		private function saveFault(event:FaultEvent):void
		{
//			facade.sendNotification(MedicalMoneyFacade.LOAD_CONGMONEY_SAVEFAL_FAILED, this);
		}


		///////////////////////////////////////////////////////////////////////////////////////////////////
		//
		//	Data Parsing functions
		//
		///////////////////////////////////////////////////////////////////////////////////////////////////
		/**
		 *
		 *
		 * @param
		 * @return 의료비 마감일 현황 ArrayCollection

		private function parseMmLimitDataList(recArr:Object):MedicalMoneyLimitDateVO
		{
			var vo:MedicalMoneyLimitDateVO = new MedicalMoneyLimitDateVO();

			vo.O_BETRG		= recArr.O_BETRG;			//가용금액
			vo.O_ENDDA		= DateUtil.stringToDateTime(recArr.O_ENDDA);			//전월분 입력마감일
			return vo;
		}
*/

		/**
		 * 서버에서 전달된 result 객체를 분석하여 Value Object를 생성
		 *
		 * @param
		 * @return 경조사조회 현황 ArrayCollection

		private function parseCongList(recArr:ArrayCollection):MedicalMoneyWriteVO
		{

			for each(var obj:Object in recArr){
				var vo:MedicalMoneyWriteVO = new MedicalMoneyWriteVO();

				vo.GWAREKEY		= obj.GWAREKEY;			//Groupware 전자결재 Key
				vo.CPERNR		= StringUtil.trimFront(obj.CPERNR,"0");//경조대상자 사원 번호
				vo.CNAME		= obj.CNAME;			//대상자이름
				vo.ORGTX		= obj.ORGTX;			//ORGTX
				vo.CODAT		= obj.CODAT; //경조발생일
				vo.CORSN		= obj.CORSN;			//경조사유 코드
				vo.ZTEXT		= obj.ZTEXT;			//경조내역
				vo.COPER		= obj.COPER;			//사유발생자
				vo.COREG		= vo.getPid(obj.COREG);	//주민등록번호 (한국)
				vo.FAMILY		= obj.FAMILY;			//가족코드
				vo.FTEXT		= obj.FTEXT;			//경조 가족관계 텍스트
				vo.BETRG		= obj.BETRG;			//HR 급여관리: 금액
				vo.WAERS		= obj.WAERS;			//통화 키
				vo.BANKL		= obj.BANKL;			//은행 키
				vo.BANKA		= obj.BANKA;			//은행 이름
				vo.BNKSA		= obj.BNKSA;			//은행 계정 정보 레코드 유형
				vo.STEXT		= obj.STEXT;			//하위 유형 이름
				vo.BANKN		= obj.BANKN;			//은행 계정 번호
				vo.EMFTX		= obj.EMFTX;			//예금주 텍스트
				vo.COSEL		= obj.COSEL;			//경조휴가신청여부
				vo.COBEG		= obj.COBEG; //경조휴가시작일
				vo.COEND		= obj.COEND; //경조휴가종료일
				vo.CODYS		= obj.CODYS;			//경조휴가일수
				vo.ZWRTH		= obj.ZWRTH;			//화환 지급여부
				vo.ZWRSP		= obj.ZWRSP;			//화환선지급여부
				vo.PLACE		= obj.PLACE;			//배송처
				vo.REPER		= obj.REPER;			//받는사람
				vo.CNNCT		= obj.CNNCT;			//연락처
				vo.SNDAT		= obj.SNDAT;			//배송일
				vo.ETCTX		= obj.ETCTX;			//비고
				vo.IPERNR		= StringUtil.trimFront(obj.IPERNR,"0");//신청인 사원 번호
				vo.INAME		= obj.INAME;			//신청자이름
				vo.IDATE		= obj.IDATE; //신청일
				vo.WPERNR		= obj.WPERNR;			//결재자 사원 번호
				vo.WNAME		= StringUtil.trimFront(obj.WNAME,"0");//결재자이름
				vo.WSTATUS		= obj.WSTATUS;			//결재진행상태
				vo.WSTATX		= obj.WSTATX;			//결재진행상태명
				vo.BSTATUS		= obj.BSTATUS;			//전표진행상태
				vo.BSTATX		= obj.BSTATX;			//결재진행상태명
				vo.ZFNR			= obj.ZFNR;
			}
			return vo;
		}
*/


		/**
		 * 서버에서 전달된 result 객체를 분석하여 Value Object를 생성
		 *
		 * @param ArrayCollection
		 * @return 계좌선택 콤보 ArrayCollection

		private function standardListData(srcArr:ArrayCollection):CelebrationCodeVO
		{
			var retArr:ArrayCollection = new ArrayCollection();
			var vo:CelebrationCodeVO;

			for each(var rec:Object in srcArr) {
				vo = new CelebrationCodeVO();

				vo.CORSN 	= rec["CORSN"];
				vo.ZTEXT 	= rec["ZTEXT"];
				vo.FAMILY 	= rec["FAMILY"];
				vo.FTEXT 	= rec["FTEXT"];
				vo.BETRG	= rec["BETRG"];
				vo.ZWRTH 	= rec["ZWRTH"];
				vo.WAERS 	= rec["WAERS"];
			}
			return vo;
		}
*/
		/**
		 * 서버에서 전달된 result 객체를 분석하여 Value Object를 생성
		 *
		 * @param ArrayCollection
		 * @return 경조사유금액 ArrayCollection

		private function corsnMoneyList(srcArr:ArrayCollection):ConMoneyCorseVO
		{
			var retArr:ArrayCollection = new ArrayCollection();
			var vo:ConMoneyCorseVO = new ConMoneyCorseVO();

			for each(var rec:Object in srcArr) {
				vo = new ConMoneyCorseVO();

				vo.CORSN 	= rec["CORSN"];		//경조사유 코드
				vo.ZTEXT 	= rec["ZTEXT"];		//경조내역
				vo.FAMILY 	= rec["FAMILY"];	//가족코드
				vo.ATEXT 	= rec["ATEXT"];		//경조 가족관계 텍스트
				vo.BETRG	= rec["BETRG"];		//HR 급여관리: 금액
				vo.ZWRTH 	= rec["ZWRTH"];		//화환 지급여부
				vo.WAERS 	= rec["WAERS"];		//통화 키
				vo.CODAY 	= rec["CODAY"];		//경조휴가일수
			}
			return vo;
		}
*/

	}
}